Business Process Management (BPM) is a holistic management approach utilized by many organizations to optimize and maintain efficiency and effectiveness across departments and teams. BPM allows members of organizations to model, execute and monitor business processes in a systematic manner to accomplish any number of desired organizational goals and functions. A business process may be modeled, for instance, as a series of interrelated tasks, where the accomplishment of all tasks results in the accomplishment of the overall activity.
Upon implementation, conventional BPM solutions may provide business members with assigned tasks. Furthermore, business context information necessary to accomplish these active tasks, such as customer, inventory and logistic data and requirements, may be gathered from sources internal and external to the BPM system and presented as context information with the tasks assigned. Business members may then effectively and efficiently execute the assigned tasks and interact with the system to provide task results. For instance, a team of business personnel may be presented with a number of tasks related to the validation of the net asset value of a portfolio, along with business context information such as closing prices, corporate news relevant to the validation process, and delivery deadlines. The assigned tasks and the business context data are ordinarily be saved in data stores built and managed by the client application (i.e., at the “client side”).
Conventional BPM systems further manage in real time the state of all processes in the BPM system. Thus, the statuses of each task and each business process may be tracked by conventional BPM systems as they are initiated, processed and completed. As one advantage, the tracking of process states allows BPM systems to recover the system and the business processes to the active states just prior to any system failure.
However, whereas business context data is stored in a data store at client-side applications, state data is conventionally stored at and managed by the BPM system. As an effect, the BPM system and the business-side applications must constantly synchronize and merge information across multiple data stores during normal business operations. The accuracy of the stored data, as a result, is in constant flux and is often considered unreliable. Furthermore, the performances of the BPM system and the client slide applications are harmfully impacted as much processing power is consumed by the synchronization operations. Likewise, network bandwidth is consumed by the synchronization data communicated to and from each system. In addition, the use of multiple data stores that are physically and/or logically separated from one another further increases the complexity of system recovery upon system failure. As a result, recovery procedures are sometimes not accurate and, in certain cases, fail themselves.
Therefore, an improved solution for maintaining and tracking the business process state data and the business context data is necessary. A solution should overcome the deficiencies of currently available persistence BPM systems and meet the needs of business architects and their organizations.